﻿Public Class DefineMessageForPrime

    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


        'Put user code to initialize tcche page here
        'Me.PageTitle = "Define Invoice Message (For Prime Subscribers)"
        Dim status As String

        If (Not Me.IsPostBack) Then
            Me.FillComponents()
            Me.FillDefinedCongifs()

            Me.btnTags.Visible = True
            Me.btnConfigurations.Visible = False

            Me.pnlConfig.Visible = True
            Me.pnlTags.Visible = False

        End If

        'Me.DataGrid1.Visible = Me.DataGrid1.Items.Count > 0
        Me.btnUpdate.Enabled = False
        Me.btnUpdate2.Enabled = False

        Me.btnUpdate.Attributes.Add("style", "color: gray")
        Me.btnUpdate2.Attributes.Add("style", "color: gray")
        Me.txtMessage.Attributes.Add("style", "width: 100%")

        Me.txtEndDate.Attributes("onkeydown") = "return txtMsisdnCustCode_keyPress(event);"
        Me.txtStartDate.Attributes("onkeydown") = "return txtMsisdnCustCode_keyPress(event);"
        Me.txtEndDate2.Attributes("onkeydown") = "return txtMsisdnCustCode_keyPress(event);"
        Me.txtStartDate2.Attributes("onkeydown") = "return txtMsisdnCustCode_keyPress(event);"
        Me.txtTAG.Attributes("onkeydown") = "return txtMsisdnCustCode_keyPress(event);"
        Me.txtMaxLength.Attributes("onkeydown") = "return txtMsisdnCustCode_keyPress(event);"
        Me.txtMaxLength.Attributes.Add("onkeypress", "return isNumberKey(event)")



    End Sub

    Private Sub FillComponents()

        Dim query As String = "select * from EU_BILL.IGM_CONFIGURATION where CONF_ID=8 OR lower(CONF_NAME) LIKE 'prime'  order by PRIORITY asc"
        Dim query2 As String = "select distinct TAG from eu_bill.igm_postbgh_msg_tags where TAG = 'ERD' order by tag"

        Dim dt1 As DataTable = persistent.myDBConn.myORATable(query)
        Dim dt2 As DataTable = persistent.myDBConn.myORATable(query2)

        ddlConfigs.DataSource = dt1
        ddlConfigs.DataTextField = "CONF_NAME"
        ddlConfigs.DataValueField = "CONF_ID"
        ddlConfigs.DataBind()
        ddlConfigs.Items.Insert(0, New ListItem("Konfigürasyon seçiniz.", "0"))
        ddlConfigs.SelectedIndex = 0

        ddlTags.DataSource = dt2
        ddlTags.DataTextField = "TAG"
        ddlTags.DataValueField = "TAG"
        ddlTags.DataBind()
        ddlTags.Items.Insert(0, New ListItem("Tag seçiniz.", "0"))
        ddlTags.SelectedIndex = 0

    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        If Me.ddlConfigs.SelectedIndex = 0 Or Me.ddlTags.SelectedItem.Text = "Tag seçiniz." Or Me.txtMessage.Text.Trim() = "" Then
            Alert("Konfigürasyon, Mesaj veya TAG bilgisini girmediniz.", Me)
            Return
        End If

        Dim startDate As String, endDate As String = ""

        Dim maxLength As Integer = persistent.myDBConn.ORAScalar(String.Format("select MAX_LENGTH from eu_bill.igm_postbgh_msg_tags where TAG = '{0}'", Me.ddlTags.SelectedItem.Text.ToString()))

        If Me.txtMessage.Text.Length > maxLength Then
            Alert("Bu TAG için girilebilecek maksimum mesaj boyutu: '" & maxLength & "' karakter ile sınırlıdır. ", Me)
            Return

        End If

        Dim isAvailableDate As Integer = 0
        Try
            isAvailableDate = persistent.myDBConn.ORAScalar(String.Format("SELECT count(*) FROM eu_bill.igm_postbgh_msg WHERE (TAG = '{0}') and ((to_date('{1}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO) or ((to_date('{2}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO)))", Me.ddlTags.SelectedItem.Text.ToString(), IIf(Me.txtStartDate.Text = "__.__.____ __:__", "", Me.txtStartDate.Text), IIf(Me.txtEndDate.Text = "__.__.____ __:__", "", Me.txtEndDate.Text)))
        Catch ex As Exception
            isAvailableDate = -1
        End Try

        If isAvailableDate > 0 Then
            Alert("Belirtilen tarih aralığında aynı TAG'den başka bir kayıt bulunamaz. Tarih aralığını değiştirmelisiniz.", Me)
            Return
        End If


        Dim maxMsg_ID As Integer = persistent.myDBConn.ORAScalar(String.Format("select max(MSG_ID) from EU_BILL.IGM_POSTBGH_MSG")) + 1

        Try

            Dim query As String = String.Format("insert into  EU_BILL.IGM_POSTBGH_MSG (CONF_ID, TAG, MESSAGE, VALID_FROM, VALID_TO, MSG_ID) values ({0}, '{1}', '{2}', to_date('{3}','dd.mm.yyyy hh24:MI'), to_date('{4}','dd.mm.yyyy hh24:MI'), {5})", _
                                                Me.ddlConfigs.SelectedItem.Value.ToString(), Me.ddlTags.SelectedItem.Text.ToString(), Me.txtMessage.Text.Trim(), IIf(Me.txtStartDate.Text = "__.__.____ __:__", "", Me.txtStartDate.Text), IIf(Me.txtEndDate.Text = "__.__.____ __:__", "", Me.txtEndDate.Text), maxMsg_ID)

            If persistent.myDBConn.ORAExecute(query) > 0 Then
                Alert("Mesajınız başarıyla eklendi.", Me)
                Me.txtMessage.Text = ""
                Me.txtStartDate.Text = ""
                Me.txtEndDate.Text = ""
                Me.ddlTags.SelectedIndex = 0
                Me.ddlConfigs.SelectedIndex = 0

            Else
                Alert("Mesajınız eklenemedi.", Me)
            End If

        Catch ex As Exception
            Alert("Problem Oluştu:" & ex.Message, Me)

        End Try

        Me.FillDefinedCongifs()

    End Sub

    Private Sub FillDefinedCongifs()

        Dim query As String = String.Format("select m.*, (select CC.CONF_NAME from EU_BILL.IGM_CONFIGURATION cc where CC.CONF_ID = m.conf_id and lower(cc.CONF_NAME) NOT LIKE 'gib' ) as conf_name from EU_BILL.IGM_POSTBGH_MSG  m where m.conf_id NOT IN(7)  order by M.MSG_ID")

        Me.DataGrid1.DataSource = persistent.myDBConn.myORATable(query)
        Me.DataGrid1.DataBind()

    End Sub

    Private Sub FillDefinedTags()

        Dim query As String = String.Format("select rowid ROW_ID, t.* from EU_BILL.IGM_POSTBGH_MSG_TAGS t")

        Me.DataGrid2.DataSource = persistent.myDBConn.myORATable(query)
        Me.DataGrid2.DataBind()

        Me.ddlPriority.Attributes.Add("style", "width: 130")

        If Me.ddlPriority.Items.Count > 0 Then
            Me.ddlPriority.Items.Clear()

        End If

        For i As Integer = 1 To 5
            Me.ddlPriority.Items.Add(New ListItem(i.ToString(), i.ToString()))
        Next

        Me.ddlPriority.Items.Insert(0, New ListItem("Priority seçiniz.", "0"))

    End Sub

    Private Sub btnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate.Click

        If Me.ddlConfigs.SelectedIndex = 0 Or Me.ddlTags.SelectedItem.Text = "Tag seçiniz." Then
            Alert("Konfigürasyon veya TAG bilgisini girmediniz.", Me)
            Me.btnUpdate.Enabled = True
            Me.btnUpdate.Attributes.Add("style", "color: #336699")

            Return
        End If

        Dim maxLength As Integer = persistent.myDBConn.ORAScalar(String.Format("select MAX_LENGTH from eu_bill.igm_postbgh_msg_tags where TAG = '{0}'", Me.ddlTags.SelectedItem.Text.ToString()))

        If Me.txtMessage.Text.Length > maxLength Then
            Alert("Bu TAG için girilebilecek maksimum mesaj boyutu: '" & maxLength & "' karakter ile sınırlıdır. ", Me)

            Me.btnUpdate.Enabled = True
            Me.btnUpdate.Attributes.Add("style", "color: #336699")

            Return

        End If

        Dim isAvailableDate As Integer = persistent.myDBConn.ORAScalar(String.Format("SELECT count(*) FROM eu_bill.igm_postbgh_msg WHERE MSG_ID <> {3} and (TAG = '{0}') and ((to_date('{1}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO) or ((to_date('{2}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO)))", Me.ddlTags.SelectedItem.Text.ToString(), Me.txtStartDate.Text.Trim(), Me.txtEndDate.Text.Trim(), Session("Msg_ID")))

        If isAvailableDate > 0 Then
            Alert("Belirtilen tarih aralığında aynı TAG'den başka bir kayıt bulunamaz. Tarih aralığını değiştirmelisiniz.", Me)
            Me.btnUpdate.Enabled = True
            Me.btnUpdate.Attributes.Add("style", "color: #336699")

            Return

        End If


        Try

            Dim query As String = String.Format("update EU_BILL.IGM_POSTBGH_MSG set CONF_ID = {0}, TAG = '{1}', MESSAGE = '{2}', VALID_FROM = to_date('{3}','dd.mm.yyyy hh24:MI'), VALID_TO = to_date('{4}','dd.mm.yyyy hh24:MI') WHERE MSG_ID = {5}", _
                                             Me.ddlConfigs.SelectedItem.Value.ToString(), Me.ddlTags.SelectedItem.Text.ToString(), Me.txtMessage.Text.Trim(), IIf(Me.txtStartDate.Text = "__.__.____ __:__", "", Me.txtStartDate.Text), IIf(Me.txtEndDate.Text = "__.__.____ __:__", "", Me.txtEndDate.Text), Session("Msg_ID"))

            If persistent.myDBConn.ORAExecute(query) > 0 Then
                Alert("Mesajınız başarıyla güncellendi.", Me)
                Me.txtMessage.Text = ""
                Me.txtStartDate.Text = ""
                Me.txtEndDate.Text = ""
                Me.ddlTags.SelectedIndex = 0
                Me.ddlConfigs.SelectedIndex = 0

                Session.Remove("Msg_ID")

            Else
                Alert("Mesajınız güncellenemedi.", Me)
            End If

        Catch ex As Exception
            Alert("Problem Oluştu:" & ex.Message, Me)

        End Try


        Me.FillDefinedCongifs()

    End Sub

    Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand

        If e.CommandName = "Edit" Then

            Me.txtMessage.Text = Me.DataGrid1.Items(e.Item.ItemIndex).Cells(3).Text.ToString()

            Me.txtStartDate.Text = IIf(Me.DataGrid1.Items(e.Item.ItemIndex).Cells(4).Text = "&nbsp;", "", Me.DataGrid1.Items(e.Item.ItemIndex).Cells(4).Text)
            Me.txtEndDate.Text = IIf(Me.DataGrid1.Items(e.Item.ItemIndex).Cells(5).Text = "&nbsp;", "", Me.DataGrid1.Items(e.Item.ItemIndex).Cells(5).Text)

            Me.ddlConfigs.SelectedValue = Me.DataGrid1.Items(e.Item.ItemIndex).Cells(1).Text.ToString()
            Me.ddlTags.SelectedValue = Me.DataGrid1.Items(e.Item.ItemIndex).Cells(2).Text.ToString()

            Me.btnUpdate.Enabled = True
            Me.btnUpdate.Attributes.Add("style", "color: #336699")

            Session("Msg_ID") = Me.DataGrid1.Items(e.Item.ItemIndex).Cells(7).Text.ToString()

            For i As Integer = 0 To Me.DataGrid1.Columns.Count - 1

                Me.DataGrid1.Items(e.Item.ItemIndex).Cells(i).BackColor = Color.Empty
                Me.DataGrid1.Items(e.Item.ItemIndex).Cells(i).BackColor = Color.Yellow

                For j As Integer = 0 To Me.DataGrid1.Items.Count - 1
                    If j <> e.Item.ItemIndex Then
                        Me.DataGrid1.Items(j).Cells(i).BackColor = Color.Empty
                        Me.DataGrid1.Items(j).Cells(i).BackColor = Color.Lavender

                    End If
                Next

            Next


        End If
    End Sub

    Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged

        DataGrid1.CurrentPageIndex = e.NewPageIndex
        If DataGrid1.Items.Count Mod DataGrid1.PageSize = 1 And DataGrid1.CurrentPageIndex = DataGrid1.PageCount - 1 And DataGrid1.CurrentPageIndex <> 0 Then

            DataGrid1.CurrentPageIndex = DataGrid1.CurrentPageIndex - 1
        End If

        Me.FillDefinedCongifs()


    End Sub

    Private Sub btnConfigurations_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConfigurations.Click

        Me.btnConfigurations.Visible = False
        Me.btnTags.Visible = True

        Me.pnlConfig.Visible = True
        Me.pnlTags.Visible = False

    End Sub

    Private Sub btnTags_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTags.Click

        Me.btnConfigurations.Visible = True
        Me.btnTags.Visible = False

        Me.pnlConfig.Visible = False
        Me.pnlTags.Visible = True

        Me.FillDefinedTags()

    End Sub

    Private Sub DataGrid2_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid2.PageIndexChanged
        DataGrid2.CurrentPageIndex = e.NewPageIndex
        If DataGrid2.Items.Count Mod DataGrid2.PageSize = 1 And DataGrid2.CurrentPageIndex = DataGrid2.PageCount - 1 And DataGrid2.CurrentPageIndex <> 0 Then

            DataGrid2.CurrentPageIndex = DataGrid2.CurrentPageIndex - 1
        End If

        Me.FillDefinedTags()

    End Sub

    Private Sub DataGrid2_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid2.ItemCommand

        If e.CommandName = "Edit" Then

            Me.txtTAG.Text = Me.DataGrid2.Items(e.Item.ItemIndex).Cells(0).Text.ToString()
            Me.ddlPriority.SelectedValue = Me.DataGrid2.Items(e.Item.ItemIndex).Cells(1).Text.ToString()
            Me.txtMaxLength.Text = Me.DataGrid2.Items(e.Item.ItemIndex).Cells(2).Text.ToString()
            Me.txtStartDate2.Text = IIf(Me.DataGrid2.Items(e.Item.ItemIndex).Cells(3).Text = "&nbsp;", "", Me.DataGrid2.Items(e.Item.ItemIndex).Cells(3).Text)
            Me.txtEndDate2.Text = IIf(Me.DataGrid2.Items(e.Item.ItemIndex).Cells(4).Text = "&nbsp;", "", Me.DataGrid2.Items(e.Item.ItemIndex).Cells(4).Text)

            Me.btnUpdate2.Enabled = True
            Me.btnUpdate2.Attributes.Add("style", "color: #336699")

            Session("Row_ID") = Me.DataGrid2.Items(e.Item.ItemIndex).Cells(5).Text.ToString()

            For i As Integer = 0 To Me.DataGrid2.Columns.Count - 1

                Me.DataGrid2.Items(e.Item.ItemIndex).Cells(i).BackColor = Color.Empty
                Me.DataGrid2.Items(e.Item.ItemIndex).Cells(i).BackColor = Color.Yellow

                For j As Integer = 0 To Me.DataGrid2.Items.Count - 1
                    If j <> e.Item.ItemIndex Then
                        Me.DataGrid2.Items(j).Cells(i).BackColor = Color.Empty
                        Me.DataGrid2.Items(j).Cells(i).BackColor = Color.Lavender

                    End If
                Next

            Next

        End If

    End Sub

    Private Sub btnUpdate2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate2.Click

        If Me.txtTAG.Text.Trim() = "" Or Me.txtMaxLength.Text.Trim() = "" Or Me.ddlPriority.SelectedIndex = 0 Then
            Alert("Öncelik, Max Uzunluk veya TAG bilgisini girmediniz.", Me)
            Me.btnUpdate2.Enabled = True
            Me.btnUpdate2.Attributes.Add("style", "color: #336699")

            Return
        End If

        If Me.txtTAG.Text.Trim().Length > 3 Then
            Alert("TAG bilgisi max '3' karakterden oluşmalıdır.", Me)
            Me.btnUpdate2.Enabled = True
            Me.btnUpdate2.Attributes.Add("style", "color: #336699")

            Return

        End If

        Dim isAvailableDate As Integer = persistent.myDBConn.ORAScalar(String.Format("SELECT count(*) FROM eu_bill.igm_postbgh_msg_tags WHERE rowid <> '{3}' and (TAG = '{0}') and ((to_date('{1}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO) or ((to_date('{2}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO)))", Me.txtTAG.Text.ToUpper().Trim(), Me.txtStartDate2.Text.Trim(), Me.txtEndDate2.Text.Trim(), Session("Row_ID")))

        If isAvailableDate > 0 Then
            Alert("Belirtilen tarih aralığında aynı TAG'den başka bir kayıt bulunamaz. Tarih aralığını değiştirmelisiniz.", Me)
            Me.btnUpdate2.Enabled = True
            Me.btnUpdate2.Attributes.Add("style", "color: #336699")

            Return

        End If

        If Me.txtTAG.Text.ToUpper().Trim() = "SAB" Or Me.txtTAG.Text.ToUpper().Trim() = "HUB" Or Me.txtTAG.Text.ToUpper().Trim() = "INS" Or Me.txtTAG.Text.ToUpper().Trim() = "ZAF" Or Me.txtTAG.Text.ToUpper().Trim() = "ERD" Then

            Try

                Dim query As String = String.Format("update (select rowid row_id, t.* from EU_BILL.IGM_POSTBGH_MSG_TAGS t) m set TAG = '{0}', PRIORITY = '{1}', MAX_LENGTH = '{2}', VALID_FROM = to_date('{3}','dd.mm.yyyy hh24:MI'), VALID_TO = to_date('{4}','dd.mm.yyyy hh24:MI') WHERE m.Row_ID  = '{5}'", _
                                                Me.txtTAG.Text.ToUpper().Trim(), Me.ddlPriority.SelectedItem.Text, Me.txtMaxLength.Text.Trim(), IIf(Me.txtStartDate2.Text = "__.__.____ __:__", "", Me.txtStartDate2.Text), IIf(Me.txtEndDate2.Text = "__.__.____ __:__", "", Me.txtEndDate2.Text), Session("ROW_ID"))

                If persistent.myDBConn.ORAExecute(query) > 0 Then
                    Alert("Mesajınız başarıyla güncellendi.", Me)
                    Me.txtTAG.Text = ""
                    Me.txtMaxLength.Text = ""
                    Me.txtStartDate2.Text = ""
                    Me.txtEndDate2.Text = ""
                    Me.ddlPriority.SelectedIndex = 0

                    Session.Remove("Row_ID")

                Else
                    Alert("Mesajınız güncellenemedi.", Me)
                    Me.btnUpdate2.Enabled = True
                    Me.btnUpdate2.Attributes.Add("style", "color: #336699")
                End If

            Catch ex As Exception
                Alert("Problem Oluştu:" & ex.Message, Me)
                Me.btnUpdate2.Enabled = True
                Me.btnUpdate2.Attributes.Add("style", "color: #336699")

            End Try

        Else
            Alert("TAG bilgisi 'SAB','HUB','ZAF', 'INS' ve 'ERD' değerlerinin dışında olmamalıdır.", Me)
            Me.btnUpdate2.Enabled = True
            Me.btnUpdate2.Attributes.Add("style", "color: #336699")
            Return

        End If

        Me.pnlConfig.Visible = False
        Me.pnlTags.Visible = True

        Me.FillDefinedTags()


    End Sub

    Private Sub btnSave2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave2.Click

        If Me.txtTAG.Text.Trim() = "" Or Me.txtMaxLength.Text.Trim() = "" Or Me.ddlPriority.SelectedIndex = 0 Then
            Alert("Öncelik, Max Uzunluk veya TAG bilgisini girmediniz.", Me)

            Return

        End If

        If Me.txtTAG.Text.Trim().Length > 3 Then
            Alert("TAG bilgisi max '3' karakterden oluşmalıdır.", Me)
            Return

        End If

        Dim isAvailableDate As Integer = persistent.myDBConn.ORAScalar(String.Format("SELECT count(*) FROM eu_bill.igm_postbgh_msg_tags WHERE (TAG = '{0}') and ((to_date('{1}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO) or ((to_date('{2}:00','dd.mm.yyyy hh24:MI:ss') BETWEEN VALID_FROM AND VALID_TO)))", Me.txtTAG.Text.ToUpper().ToString(), Me.txtStartDate2.Text.Trim(), Me.txtEndDate2.Text.Trim()))

        If isAvailableDate > 0 Then
            Alert("Belirtilen tarih aralığında aynı TAG'den başka bir kayıt bulunamaz. Tarih aralığını değiştirmelisiniz.", Me)

            Return

        End If

        If Me.txtTAG.Text.ToUpper().Trim() = "SAB" Or Me.txtTAG.Text.ToUpper().Trim() = "HUB" Or Me.txtTAG.Text.ToUpper().Trim() = "INS" Or Me.txtTAG.Text.ToUpper().Trim() = "ZAF" Or Me.txtTAG.Text.ToUpper().Trim() = "ERD" Then

            Try

                Dim query As String = String.Format("insert into EU_BILL.IGM_POSTBGH_MSG_TAGS (TAG, PRIORITY, MAX_LENGTH, VALID_FROM, VALID_TO) values ('{0}', {1}, {2}, to_date('{3}','dd.mm.yyyy hh24:MI'), to_date('{4}','dd.mm.yyyy hh24:MI'))", _
                                                    Me.txtTAG.Text.ToUpper().Trim(), Me.ddlPriority.SelectedItem.Text, Me.txtMaxLength.Text.Trim(), IIf(Me.txtStartDate2.Text = "__.__.____ __:__", "", Me.txtStartDate2.Text), IIf(Me.txtEndDate2.Text = "__.__.____ __:__", "", Me.txtEndDate2.Text))

                If persistent.myDBConn.ORAExecute(query) > 0 Then
                    Alert("Mesajınız başarıyla eklendi.", Me)
                    Me.txtTAG.Text = ""
                    Me.ddlPriority.SelectedIndex = 0
                    Me.txtMaxLength.Text = ""
                    Me.txtStartDate2.Text = ""
                    Me.txtEndDate2.Text = ""

                Else
                    Alert("Mesajınız eklenemedi.", Me)
                End If

            Catch ex As Exception
                Alert("Problem Oluştu:" & ex.Message, Me)

            End Try

        Else
            Alert("TAG bilgisi 'SAB','HUB','ZAF', 'INS' ve 'ERD' değerlerinin dışında olmamalıdır.", Me)
            Return

        End If

        Me.FillDefinedTags()

    End Sub

    Private Sub InitializeComponent()

    End Sub
End Class
